package com.aura.springbook.model;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("book")
public class Book {

    /**
     * 主键
     * <p>
     * 数据库自增主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 图书标题
     * <p>
     * 图书的名称标题
     */
    @TableField("title")
    private String title;

    /**
     * 作者
     * <p>
     * 图书的作者信息
     */
    @TableField("author")
    private String author;

    /**
     * ISBN编号
     * <p>
     * 国际标准书号，用于唯一标识图书
     */
    @TableField("isbn")
    private String isbn;

    /**
     * 所属分类ID
     * <p>
     * 关联BookCategory表的主键
     */
    @TableField("category_id")
    private Long categoryId;

    /**
     * 库存数量
     * <p>
     * 图书的库存数量，借阅时会减少，归还时会增加
     */
    @TableField("stock")
    private Integer stock;

    /**
     * 图书简介
     * <p>
     * 图书的简要介绍和内容概述
     */
    @TableField("description")
    private String description;

    /**
     * 创建时间
     * <p>
     * 记录图书信息的创建时间，由MyBatis-Plus自动填充
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     * <p>
     * 记录图书信息的最后更新时间，由MyBatis-Plus自动填充
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}